package ve.usb.coord.colision.hibernate;

import java.util.HashSet;
import java.util.Set;



public class Grupo implements java.io.Serializable {

    /** Creates a new instance of Grupo */
    public Grupo() {}

    /**
     * Holds value of property idGrupo.
     */
    private long idGrupo;

    /**
     * Getter for property idGrupo.
     * @return Value of property idGrupo.
     */
    public long getIdGrupo() {
        return this.idGrupo;
    }

    /**
     * Setter for property idGrupo.
     * @param idGrupo New value of property idGrupo.
     */
    public void setIdGrupo(long idGrupo) {
        this.idGrupo = idGrupo;
    }
    /**
     * Holds value of property nombre.
     */
    private String nombre = "";

    /**
     * Getter for property nombre.
     * @return Value of property nombre.
     */
    public String getNombre() {
        return this.nombre;
    }

    /**
     * Setter for property nombre.
     * @param nombre New value of property nombre.
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    /**
     * Holds value of property prioridad.
     */
    private byte prioridad;

    /**
     * Getter for property prioridad.
     * @return Value of property prioridad.
     */
    public byte getPrioridad() {
        return this.prioridad;
    }

    /**
     * Setter for property prioridad.
     * @param prioridad New value of property prioridad.
     */
    public void setPrioridad(byte prioridad) {
        this.prioridad = prioridad;
    }
    /**
     * Holds value of property planDeEstudios.
     */
    private PlanDeEstudios planDeEstudios;

    /**
     * Getter for property planDeEstudios.
     * @return Value of property planDeEstudios.
     */
    public PlanDeEstudios getPlanDeEstudios() {
        return this.planDeEstudios;
    }

    /**
     * Setter for property planDeEstudios.
     * @param planDeEstudios New value of property planDeEstudios.
     */
    public void setPlanDeEstudios(PlanDeEstudios planDeEstudios) {
        this.planDeEstudios = planDeEstudios;
    }
    /**
     * Holds value of property requisitos.
     */
    private Set<Requisitos> requisitos = new HashSet<Requisitos>();

    /**
     * Getter for property requisitos.
     * @return Value of property requisitos.
     */
    public Set<Requisitos> getRequisitos() {
        return this.requisitos;
    }

    /**
     * Setter for property requisitos.
     * @param requisitos New value of property requisitos.
     */
    public void setRequisitos(Set<Requisitos> requisitos) {
        this.requisitos = requisitos;
    }

    /**
     * Add an element to set property requisitos
     * and sets elements's property grupo.
     * @param element New element to be added to requisitos.
     */
    public void addToRequisitos(Requisitos element) {
        element.setGrupo(this);
        requisitos.add(element);
    }

    /**
     * Removes and old element from set requisitos 
     * and sets element's property grupo to null.
     * @param old The element to be removed from requisitos
     */
    public void removeFromRequisitos(Requisitos old) {
        requisitos.remove(old);
        old.setGrupo(null);
    }

}